package com.example.selfcontrol.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.selfcontrol.config.Response;
import com.example.selfcontrol.dto.ArticleInfoDTO;
import com.example.selfcontrol.dto.TalkRespDTO;
import com.example.selfcontrol.dto.WxArticleInfoDTO;
import com.example.selfcontrol.entity.Article;
import com.example.selfcontrol.entity.ArticleCategory;
import io.swagger.models.auth.In;

import java.util.List;

public interface ArticleService {
    Response getArticle(int articleId , int userId) ;

    Response createArticle(Article article);

    Response modifyArticle(Article article);

    Response deleteArticle(Integer id) ;

    int ArticleCategoryCount(int cid);

    List<Article> ArticleCategoryPagination(int cid, int  pageNum, int pageSize);

    List<List<Article>> ArticleCategoryInfo();

    List<ArticleInfoDTO> PersonalArticlesInfo(int userId, int pageNum, int pageSize);

    int CountPersonalArticles(Long userId);

    List<Article> AllarticlesPagination(int pageNum, int pageSize);

    List<ArticleCategory> getCategory();

    List<ArticleCategory> getTalkType();

    List<WxArticleInfoDTO> getWxArticleInfo(int cid, int userId, int pageNum, int pageSize, int sortBy);

    List<Article> SearchWordContained(String word , int pageNum , int pageSize);

    Response UpdateArticle(Long articleId,Long untilId);

    // 获取 说说 的Info
    List<TalkRespDTO> getTalkInfoList(int userId, int pageNum, int pageSize);
}
